@echo off
chcp 65001 >nul
title AI数据库管理系统

echo ===================================
echo AI数据库管理系统 - 启动脚本
echo ===================================

rem 检查Java环境
echo 检查Java环境...
java -version >nul 2>&1
if errorlevel 1 (
    echo 错误: 未找到Java环境，请确保已安装Java 17或更高版本
    pause
    exit /b 1
)
echo Java环境检查通过

rem 检查Node.js环境
echo 检查Node.js环境...
node -v >nul 2>&1
if errorlevel 1 (
    echo 错误: 未找到Node.js环境，请确保已安装Node.js 16或更高版本
    pause
    exit /b 1
)
echo Node.js环境检查通过

rem 获取当前目录
set CURRENT_DIR=%~dp0
cd /d "%CURRENT_DIR%"

rem 检查Maven环境
echo 检查Maven环境...
mvn -version >nul 2>&1
if errorlevel 1 (
    echo 警告: 未找到Maven环境，尝试使用Maven Wrapper...
    if exist "mvnw.cmd" (
        set MAVEN_CMD=mvnw.cmd
    ) else (
        echo 错误: 未找到Maven或Maven Wrapper
        echo 请安装Maven或确保mvnw.cmd存在
        pause
        exit /b 1
    )
) else (
    echo Maven环境检查通过
    set MAVEN_CMD=mvn
)

rem 构建并启动后端
echo 构建后端项目...
call %MAVEN_CMD% clean package -DskipTests
if errorlevel 1 (
    echo 错误: 后端项目构建失败
    pause
    exit /b 1
)

echo 启动Spring Boot后端服务...
start "AI-Database-Backend" java -jar target/ai-database-manager-1.0.0.jar

rem 等待后端启动
echo 等待后端服务启动...
timeout /t 10 /nobreak >nul

rem 启动前端服务
echo 启动Vue前端服务...
cd frontend

rem 检查是否需要安装依赖
if not exist "node_modules" (
    echo 安装前端依赖...
    call npm install
    if errorlevel 1 (
        echo 错误: 前端依赖安装失败
        pause
        exit /b 1
    )
)

echo 启动前端开发服务器...
start "AI-Database-Frontend" npm run dev

echo ===================================
echo 启动完成！
echo 后端服务: http://localhost:8080/api
echo 前端服务: http://localhost:8081
echo ===================================
echo.
echo 后端和前端服务已在新窗口中启动
echo 按任意键关闭此窗口
pause >nul